package com.ht.api.call.func.impl;

import com.ht.api.bean.AjaxResult;
import com.ht.api.bean.LoginBean;
import com.ht.api.call.func.IFunctionCall;
import com.ht.api.db.hlink.JsonTreeProcessor;
import com.ht.api.db.hlink.JsonTreeProcessor.JsonTreeNode;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;

/**
 * 解析api的result为treejson
 * @author asq
 * @createTime 2025年1月19日 09:21:33
 */
@Slf4j
public class ApiTreeFunctionCall implements IFunctionCall {

	@Override
	public String getName() {
		return "解析api的result为treejson";
	}

	@Override
	public JSONObject execute(LoginBean me, JSONObject param, AjaxResult result) {
		// 获取参数
		String jsonResult = param.getStr("jsonResult");
		
		// 解析
		JsonTreeNode tree = JsonTreeProcessor.parseJsonToTree(jsonResult);
		
		// 包装成JSONObject对象
		JSONObject json = JSONUtil.createObj();
		json.set("result", tree);
		return json;
	}

}
